// 新建 XSS 过滤工具
export const sanitizeSvg = (svg) => {
  // 只允许 SVG 基本标签和属性
  const allowedTags = ['svg', 'path', 'rect', 'circle', 'g', 'line']
  const allowedAttrs = ['viewBox', 'd', 'fill', 'stroke', 'width', 'height']
  
  try {
    const parser = new DOMParser()
    const doc = parser.parseFromString(svg, 'image/svg+xml')
    
    // 移除不允许的标签和属性
    const clean = (node) => {
      if (node.nodeType === 1) { // 元素节点
        if (!allowedTags.includes(node.tagName.toLowerCase())) {
          node.parentNode.removeChild(node)
          return
        }
        
        // 清理属性
        Array.from(node.attributes).forEach(attr => {
          if (!allowedAttrs.includes(attr.name)) {
            node.removeAttribute(attr.name)
          }
        })
        
        // 递归清理子节点
        Array.from(node.childNodes).forEach(clean)
      }
    }
    
    clean(doc.documentElement)
    return doc.documentElement.outerHTML
  } catch (e) {
    return ''
  }
} 